package com.example.micro_property_springboot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.micro_property_springboot.pojo.AssetInfo;
import com.example.micro_property_springboot.pojo.DTO.request.AssetInfoRequest;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 资产信息服务接口
 */
public interface AssetInfoService extends IService<AssetInfo> {
    /**
     * 创建资产信息
     *
     * @param request 资产信息请求参数
     * @return 资产信息实体
     */
    AssetInfo createAssetInfo(AssetInfoRequest request);

    /**
     * 更新资产信息
     *
     * @param id      资产信息ID
     * @param request 资产信息请求参数
     * @return 是否更新成功
     */
    boolean updateAssetInfo(Long id, AssetInfoRequest request);

    /**
     * 删除资产信息
     *
     * @param id 资产信息ID
     * @return 是否删除成功
     */
    boolean deleteAssetInfo(Long id);

    /**
     * 根据资产状态查询资产信息列表
     *
     * @param status 资产状态
     * @return 资产信息列表
     */
    List<AssetInfo> getAssetsByStatus(String status);
}

